1. Field of the Invention
This invention relates generally to wireless Internet Service Providers (ISPs), and information content delivery services/providers. More particularly, it relates to location services for the wireless industry and Web content providers.
2. Background of Related Art
Computer networks amass a collection of digital devices (e.g. computers, mobile devices, etc.), and cooperate with one another to permit communication amongst devices integrated within.
Every device that operates on a computer network is allotted a unique numerical identifier. An Internet Protocol address (IP address), for instance, is a numerical identifier assigned to each device operating on a Transmission Control Protocol/Internet Protocol (TCP/IP) network. An IP address enables a specific network node (e.g. a computer) to be targeted in a communication session and/or an information transmission. Moreover, an IP address identifies the location of a particular device on a network, permitting a communication session and/or an information transmission to be routed accurately.
An IP address is either statically or dynamically assigned to a network device.
A dynamically assigned IP address is allocated to a device each time the device accesses a network (e.g. each time a computer is booted), and/or each time an inherent timer has expired. A dynamic IP address is not fixed for any specific network device. Rather, a multitude of various dynamic IP addresses may be assigned to a host throughout the course of a network session.
Alternatively, a statically assigned IP address is permanently allocated to a network node. In particular, a static IP address is configured manually in the hardware or software portion of a device and thus provides a constant source of identification.
Two versions of the Internet Protocol are currently in use: Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6). IPv4 and IPv6 each deploy variant addressing schemes.
IPv4 addresses are 32 bits long, yielding an address space that consists of 2^32 unique IP addresses. Recently, as a result of the monumental growth of the internet, the supply of unallocated IPv4 public IP addresses (i.e. globally unique IP addresses that may be routed on the internet) has rapidly diminished.
Consequently, IPv6 was developed to broaden the supply of available address space. An IPv6 address contains 128 bits, providing 2^128 unique IP addresses, which is enough to provide global unique IP addresses to all digital devices. Yet, the majority of today's network operators continue to use IPv4. Thus, several methods have been enacted in an attempt to conserve IPv4 address space.
For instance, one address conservation tactic incorporates private IP addresses. A private IP address is not globally unique and therefore not routable on the internet. Rather, private IP addresses are reserved for private networks, upon which devices primarily communicate and transfer information amongst other locally connected devices. Devices on a private network do not engage in frequent connectivity with outside networks, nor are they directly connected to the internet. Hence, as opposed to a globally unique public IP address, a private IP address is only required to be unique to devices operating on a common private network. Therefore, private IP addresses are essentially unique local addresses, enabling a range of private IP addresses to be reused over a multitude of private networks.
When a device on a private network attempts to access the internet, the device's private IP address is first converted to a public IP address. Address conversion masks a requesting device's private IP address, rendering the address undetectable to external network devices. Address conversion is commonly achieved via Network Address Translation (NAT).
FIG. 4 portrays a conventional network topology incorporating a Network Address Translation (NAT) enabled device.
A device 400 with Network Address Translation (NAT) functionality (e.g. a router, a gateway, a firewall, etc.) is situated between a private network 410 and a public network 420 (e.g. the internet). Private network addresses are not routable on the internet. Therefore, any device on a private network 410 attempting to access a node (e.g. a web server) on a public network 420 (e.g., the internet) must first pass communication through a Network Address Translation (NAT) enabled device 400. Network Address Translation (NAT) 400 converts a private IP address to a public IP address, and vice-versa, by referencing and recording address transformations in a Network Address Translation (NAT) table 430.
FIG. 5 portrays a conventional transmission of an IP packet from a private network node to a public network node using Network Address Translation (NAT).
A Network Address Translation (NAT) enabled device is furnished with a pool of globally unique public IP addresses. In step 500, a device with a private IP address transmits an IP packet to a device (e.g. a web server) operating on a public network. As depicted in step 510, the Network Address Translation (NAT) device on the private network intercepts the transmitted IP packet. Network Address Translation (NAT) then converts the source address in the transmitted IP packet from a private IP address to a public IP address, selected from the Network Address Translation (NAT) routable address pool, as shown in step 520. In step 530, Network Address Translation (NAT) subsequently records the new public/private IP address combination in the Network Address Translation (NAT) table for future lookup. The same address conversion is performed in all subsequent IP packets transmitted across the same line of communication.
FIG. 6 portrays a conventional transmission of an IP packet from a public network node to a private network node using Network Address Translation (NAT).
An IP packet is transmitted from a public network node to a private network node, as depicted in step 600. The transmitted IP packet is subsequently intercepted by a Network Address Translation (NAT) enabled device, configured at an entry point on the receiving private network, as shown in step 610. Network Address Translation (NAT) detects the destination address designated in the received IP packet and queries the Network Address Translation (NAT) table for a match in step 620. If a match is detected (step 630), the public IP address in the packet destination address field is converted to an affiliated private IP address in step 650, as recorded in the Network Address Translation (NAT) table. The packet is thereafter routed to an appropriate destination device in step 660. In the event that a match is not discovered in the Network Address Translation (NAT) table, the packet is dropped (step 640).
A proxy server may alternatively function as a gateway device between a private network and a public network.
FIG. 7 depicts a conventional network topology incorporating a proxy server.
As depicted in FIG. 7, a proxy server 700 is situated between a public network 720 and a private network 710 (i.e. a proxy server 700 is configured at an entry node on a private network 610). A network topology deploying a proxy server 700 routes all communication/information requests transmitted from a private network 710 to a public network 720, and vice versa, through the proxy server 700.
Similar to Network Address Translation (NAT), a proxy server may shield the identity of a device on a private network from being exposed to the internet. A proxy server is also able to modify received IP packets before forwarding packets to an intended destination. Therefore, a proxy server may perform address conversion in an IP packet and additionally append any relevant application specific information.
The location of a public IP address assigned to a device is currently obtainable on the internet via request to a suitable web service. For instance, http://www.ip2location.com enables a user to supply an IP address in return for location information.
There are numerous situations in which the location of a web client associated with a particular Internet session would be beneficial to a business. For instance, a bank may desire the location of a client requesting online banking resources for security purposes (e.g. authentication and/or anti-fraud). IP location services may additionally be beneficial in law enforcement scenarios and assisting in 911 emergency location determination. Moreover, IP location services enable a business to target promotional information to relevant consumers based on a device's proximity to a particular site of interest. IP location services furthermore enable a business to engage in location based advertising.
There are companies (e.g. Quova) that provide commercial IP location services. However, current IP location services are only applicable to wireline networks (e.g. cable or DSL ISP providers) where static location of each individual user can be pre-provisioned.
Unfortunately, location information associated with a public IP address that is allocated to a mobile device is not available. Instead, current IP location services are merely able to provide the identity of an internet service provider (ISP) that owns an IP address assigned to a mobile device. Hence at the moment, it is not possible to locate a mobile device based upon the public IP address that a mobile device is using.
Wireless packet data services are provided by most wireless carriers using various technologies (e.g. UMTS, LTE, CDMA1x, WiMAX, WiFi hotspots, etc.). While smart phones with high processing power and a high resolution display are popular, more people are using mobile phones to access web interfaces via a built-in web browser. Consumers desire an IP location service that is able to provide location information based upon a mobile device's IP address.